package sputils

/*
| 事件通道          | 事件说明         | 参数                                                         |
|---------------|--------------|------------------------------------------------------------|
| 通道数据          | 收到通道数据       | itype(SpTypeData), 数据(buf),topic\|sessionid             |
| 通道数据(Var)     | 收到通道数据(本地交互) | itype(SpTypeVarData), arg/args, topic\|sessionid           |
| evt/notify    | 建立连接事件       | itype(SpTypeConnected), topic\|sessionid, urlEncodeData |
| evt/notify    | 断线事件         | itype(SpEvtTypeDisconnected), topic\|sessionid, urlEncodeData    |
| evt/notify    | 建立连接失败事件     | itype(SpEvtTypeConnectFail), error                         |
| evt/notify    | 启动           | itype(SpEvtTypeStart),msg(string)                          |
| evt/notify    | 消息           | itype(SpEvtTypeStop),msg(string)                           |
| evt/notify    | 错误           | itype(SpEvtTypeError),error                                |
| evt/notify    | 停止           | itype(SpEvtTypeStop),msg(string)                           |
| evt/notifyext | 发送成功事件       | itype(SpEvtTypeSent),长度,buf,topic\|sessionid               |
| evt/exchange  | 获取数据         | itype(SpEvtTypeGetData),channel(string),data(*[]byte)      |
| evt/notify    | 开始           | itype(spTypeBOF),name,0                          |
| evt/notify    | 结束           | itype(spTypeEOF),name,N                          |
| evt/notify    | 结束           | itype(SpTypeDone),name                          |
*/

const (
	SpDefaultChannel string = "DATA"
	SpEvtPrefix      string = "evt/"
	SpEvtNotify      string = "evt/notify" // 通知事件
	SpEvtNotifyExt   string = "evt/notifyext"
	SpEvtExchange    string = "evt/exchange" // 交互事件
)

const (
	SpTypeData = iota
	SpTypeVarData

	// 一次session建立成功
	SpTypeConnected

	// 一次session完成
	SpTypeDisconnected

	// 一次session建立失败
	SpTypeConnectFail

	SpTypeStart
	SpTypeMsg
	SpTypeError
	SpTypeStop
	SpTypeSent
	SpTypeGetData

	SpTypeBOF
	SpTypeEOF

	// 工作完成
	SpTypeDone
)
